As information processing is advanced and becomes complex in recent years, an information processing system that allows communications between a plurality of arithmetic processing units to execute processing tends to increase. For example, a parallel computer includes nodes performing computation and switches forming networks of the nodes.
In such a parallel computer, when communication is performed between the nodes, a node divides a message into packets and transmits the packets to a switch connected to the node. When a switch receives a packet via an input port to which a node or another switch is connected, the switch determines a destination port on the basis of a destination of the packet and transmits the packet using the determined destination port.
When a plurality of packets received via respective input ports are to be transmitted to the same destination port, the switch performs arbitration for the packets and transmits the packets in an order based on the arbitration result. The switch includes a buffer for each destination port and holds the packet stacked by the arbitration in the buffer.
For example, a case is considered where a first node to a fourth node are arranged in series through switches. In this case, the switches are connected through the ports with one another to form a path which bypasses the nodes. In a case where the first node transmits packets to the fourth node, a network interface of the first node sequentially generates packets destined to the fourth node and stores the packets in a transmission buffer. This is because if a subsequent packet is not generated even when a transmission of a preceding packet is completed and the subsequent packet may be transmitted, the subsequent packet is unable to be immediately transmitted and thus throughput is reduced.
A related technique is suggested in which in order to suppress a reduction of the throughput, a notification is sent to a transmission side apparatus to suppress a transmission rate in a case where a switch or a reception side apparatus becomes congested. Further, a related technique is suggested in which a packet is prohibited from being transmitted from a transmission apparatus when a quantity of data accumulated in a buffer of a switch exceeds a threshold value.
Related techniques are disclosed in, for example, Japanese Laid-Open Patent Publication No. 09-270821 and Japanese National Publication of International Patent Application No. 2002-519912.
The subsequent packet becomes transmittable depending on a state of a network. When it takes time until the subsequent packet becomes transmittable, an influence may be exerted on communications to other nodes.
A case is considered where, in addition to the first node, the second node and the third node also transmit packets to the fourth node in the example of the information processing system including the first node to the fourth node as described above. In this case, since the packets from a plurality of transmission sources are simultaneously transmitted to the fourth node as the same destination, arbitration is performed on each switch located on the path, and transmission of some packets may be suspended. The suspended packets are stored in the buffers. When the suspended term becomes longer, the packets stored in the buffer are gradually increased. When a buffer of a switch is saturated, the transmitted packets are accumulated in a buffer of another switch located on the path, and the number of switches having saturated buffers is increased gradually on the path. Finally, even the switch connected to the first node, which is a transmission source, is saturated and packets to be transmitted by the first node are not allowed to be transmitted until an available space is created in the buffer of the switch to which the first node is connected. As described above, a situation where the switch connected to a destination port of packets becomes saturated is referred to as a “clogging of destination port” in the following description. When the first node attempts to transmit packets to another node in a state where the destination port is clogged, the transmission buffer of the network interface of the first node is saturated and a sufficient space is not available, such that the packets destined to the another node are not generated. Therefore, there is a possibility that the throughput of the first node is reduced.
As described above, in the conventional information processing system, it is difficult to reduce degradation in performance caused by the clogging of the destination port.
It may be considered that a transmission buffer may be provided for each destination port in the network interface, but the amount of desired materials is increased as the number of destination ports is increased and it is difficult to provide a transmission buffer for each destination port from the viewpoint of, for example, an increase of manufacturing cost or an increase of a mounting area.
In the conventional technique in which the notification is sent to the transmission side apparatus to reduce the transmission rate in a case of being congested, it is difficult to reduce degradation in performance of the system due to the reduction of the transmission rate. In the conventional technique in which the packet is prohibited from being transmitted from the transmission apparatus in a case where the quantity of data accumulated in the buffer exceeds the threshold value, it is difficult to reduce the degradation in performance of the system since the packet transmission is stopped.